Тестирование приложений на проникновение

Решаем сложные технологические задачи, обеспечивая безопасность приложений, данных и цифровых активов. Помогаем предотвращать возможные финансовые и репутационные риски бизнеса, связанные с кибератаками.

Наша команда инженеров и этичных хакеров специализируется на тестировании безопасности мобильных приложений, применяя уникальные техники и инструменты для моделирования реальных атак. Их опыт охватывает все аспекты кибербезопасности — от выявления слабых мест и уязвимостей до повышения уровня защиты.

Заказав у нас тестирование на проникновение, вы инвестируете в проактивную безопасность. Воспользуйтесь этой возможностью и преимуществами глубокой оценки, которая позволяет обнаружить уязвимости до того, как ими воспользуются злоумышленники. Не ждите, пока произойдёт нарушение, давайте вместе построим непробиваемый щит вокруг ваших продуктов.

Оставьте заявку Или свяжитесь с нами в whatsapp WhatsApp

Создатели мобильных, прогрессивных и веб-приложений не спешат заботиться о безопасности в первый год после релиза. Одни думают, что хакеры не скоро доберутся до их малоизвестного приложения. Другие осознают риски, но экономят на защите и не хотят использовать все прелести современных технологий для повышения уровня безопасности. В то же время пользователи хотели бы быть уверены, что их данные и другая информация не попадут в чужие руки при кибератаке.

Злоумышленники видят ценность в любой информацию из ИТ-инфраструктуры, которая проходит через приложения и хранится на серверах. С каждым годом их атаки со взломами происходят всё чаще и приносят всё больше убытков. Поэтому проводить тестирование на наличие уязвимостей и защищать приложения следует сразу после разработки. Сегодня информационная безопасность и защита данных и важной информации считается требованием безопасности при создании или использовании любого приложения.

В этой статье мы расскажем вам о важности тестирования, видах тестирования (в том числе и выявление угроз в реальном времени) и этапах тестирования приложений. Нужен ли тестировщик, основные принципы и этапы тестирования, ключевые требования, возможности защищенности, виды уязвимостей и принципы их обнаружения, какие проводят тестирования, какие существуют инструменты для тестирования. Произведем общий анализ и оценку различных и всевозможных угроз, анализ уязвимостей. Предоставим вам самую главную информацию. Ну и конечно же сколько стоит такая проверка (тестирование на взлом) по обеспечению максимальной безопасности.

Важность защиты финтех-приложений

Согласно анализу и исследованию из отчета «X-Force Threat Intelligence Index 2023» от IBM (доступен на сайте IBM), в 2022 году на сферу финансов и страхования пришлось 18,9 % атак, что поставило её на вторую позицию. Несмотря на то, что с 2021 года она перестала лидировать среди страдающих индустрий, это всё равно большая доля.

Атаки на сферу финансов и страхования в 2023

Согласно анализу и исследованию систематических рисков, подготовленному Банком Англии (полный отчет можно получить на официальном сайте банка) в январе 2023, половина из 72 опрошенных руководителей финансовых компаний считают, что справиться с кибератаками сложнее всего. Их опасения делают кибератаки самым проблемным риском в этом году.

Кибератаки среди проблемных рисков в 2023

Хотя кибератаки действительно очень опасны, крупные банки уверены, что смогут их отразить. Но что делать небольшим и молодым финтех-компаниям, у которых нет своих отделов по информационной безопасности?

Взломы с похищением криптовалют

Мы собираем статистику (и проводим анализ) инцидентов в областях, в которых хорошо разбираемся. Взломы криптовалютных сервисов отслеживаем потому, что их ключевой составляющей выступают веб-приложения или смарт-контракты. В большинстве случаев именно через них хакеры добираются до криптовалют и это достаточно важная информация.

За 2022 год произошло 134 взлома. В результате криптовалютные компании и децентрализованные автономные организации лишились своих и пользовательских криптовалют на сумму $3,8 миллиарда. Хакерская активность то ослабевала, то усиливалась в течение всего года, а огромные всплески были в марте и октябре:

Суммы украденных криптовалют в 2023

Среди них хотелось бы выделить три крупнейших взлома:

  1. Взлом сайдчейна Ronin для игры Axie Infinity в марте, в результате которого украли 173 тыс. ETH и 25,5 млн USDC на сумму $622 млн.
  2. Взлом кроссчейнового моста BSC Token Hub в октябре, в результате которого украли 2 миллиона BNB на сумму $570 млн.
  3. Взлом биржи FTX в ноябре, в результате которого украли BNB, DAI, ETH и USDT на сумму $477 млн.

Вы создали криптовалютную биржу или сервис, в который внедрили приём или обмен криптовалют? Когда анонсируете новый сервис, публикации могут привлечь не только целевую аудиторию, но и преступников. И если вы не успеете провести тестирование на проникновение, то есть проверить релиз на уязвимости, то злоумышленники сделают это за вас, чтобы воспользоваться ими. И все это в очередной раз доказывает важность проведения тестирования и общего понимания защищенности проекта, его данных, информации, а главное — финансов и репутации.

Похищение фиатных денег и платёжных данных

Хакеры по-прежнему атакуют банковские системы и приложения, используя различные инструменты и способы, например, сканирование уязвимостей через онлайн-сервисы, хотя они защищены получше остальных. Они крадут и данные банковских карт, и непосредственно деньги. А банки стараются скрывать такие случаи, чтобы не пострадала репутация. Если что-то оповещается в СМИ, то очень кратко, без точной суммы украденного, но с заверениями в том, что средства клиентов в безопасности.

Менее защищёнными оказываются финтех-компании, не относящиеся к банкам, которые уже тратят меньше средств на тестирование (как внутреннее, так и внешнее) и безопасность. Например, в системах электронных и мобильных платежей всегда найдутся уязвимости, ведь там тестирование проводится уже не таким образом, как в банках. Если не у них, так у сторонних сервисов, которые они подключают, так как в большинстве случаев они не проводят тестирование на взломы и уязвимости.

Центральный Банк России фиксирует все случаи несанкционированных финансовых операций по всей стране, то есть тех, что совершаются без согласия клиентов финансовых организаций. Вот в каких объёмах и количествах совершались несанкционированные операции в 2021 и 2022 годах:

Объем и количество операций без согласия клиентов 2023

Банк России также предоставил такую интересную статистику за 2022 год:

  • клиентам возвратили только 4,4 % (618,4 млн руб.) от всего объёма денег, переведённых и потраченных без их согласия;
  • средняя сумма одной операции без согласия клиентов-физлиц — 15,3 тыс. руб., а юрлиц — 166,9 тыс. руб.;
  • физлица сообщили о 515,9 тыс. операций на сумму 2550,5 млн руб., совершённых без их согласия при оплате товаров и услуг онлайн их банковскими картами;
  • преступники атаковали системы дистанционного банкинга 226,8 тыс. раз, в результате чего похитили 9237,5 млн руб. у физлиц.

Необходимость тестирования на проникновение и защиты

Владелец не финтех-бизнеса может подумать, что риски минимальны, если его компания не хранит деньги клиентов, не обрабатывает переводы и платежи, и что тестирование на проникновение не относиться к особо важной части его бизнеса. К сожалению, киберворов интересуют не только криптовалюты, деньги и банковские карты, а вообще всё, что плохо лежит, но хорошо продаётся, поэтому безопасность должна быть всегда на первом месте и без тестирования на проникновение никак не обойтись. Глубокий анализ, безопасность системы, сервера, внутренних данных, внешних факторов, сайта — без этого уже никак. Этап за этапом, тест за тестом, нужно проходить все важные элементы и функции любого сервиса, чтобы выявить узкие места. Это основное требование для того, чтобы использование продукта вашей компании или стартапа было безопасным.

На персональные данные и конфиденциальную информацию всегда найдутся покупатели, например, конкуренты вашей компании и мошенники. В даркнете они могут купить украденную базу из тысяч клиентов за 300 $ и начать их «обрабатывать». А взломанной компании каждая запись обходится в 165 $, согласно отчёту «Cost of Data Breach Report 2023» от IBM Security. Там же сообщается, что в среднем убытки от утечки данных обходятся компаниям в $4,45 миллиона, а значит, у них утекает ~26 970 записей. А вот если бы они подошли с большей важностью к процессу тестирования своих сервисов, то могли бы избежать таких финансовых потерь.

Последствия нарушения законов о данных

Во многих государствах предусмотрены законы и правила, согласно которым компании, обрабатывающие и хранящие персональные данные, должны регистрироваться как операторы данных. Если они нарушат обработку и хранение данных, их безопасность, то они должны проинформировать своих клиентов и регулятора об утечке данных. Также они должны возместить ущерб клиентам и заплатить штраф контролирующему органу.

Допустив нарушение, надо быть готовым к следующим штрафам по законам о защите персональных данных, действующих в разных странах:

  • В России есть Федеральный закон РФ № 152-ФЗ «О персональных данных», исполнение которого контролирует Федеральная служба по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор). Там прописаны такие штрафы:
    • за первое нарушение должностными лицами и ИП — до 40 тыс. руб., юрлицами — до 150 тыс. руб.;
    • за повторное нарушение должностными лицами — до 100 тыс. руб., ИП — до 300 тыс. руб., юрлицами — до 500 тыс. руб.
  • В Великобритании есть Общий регламент защиты персональных данных Соединённого Королевства (UK GDPR), исполнение которого контролирует Управление комиссара по делам информации. Там прописаны такие штрафы:
    • стандартный — до £8,7 млн или 2 % от годового оборота;
    • за крупное нарушение — до £17,5 млн или 4 % от годового оборота.
  • В Европейском Союзе есть Общий регламент защиты персональных данных (GDPR), исполнение которого контролирует Европейский совет по защите данных. Там прописаны такие штрафы:
    • стандартный — до €10 млн или 2 % от годового оборота;
    • за крупное нарушение — до €20 млн или 4 % от годового оборота.

Несмотря на штрафные санкции, компании недостаточно заботятся о защите. За 2022 год произошло 1063 инцидента безопасности, которые привели к компрометации 408 млн записей, что наглядно указывает на то, что без тестирования на взлом и поиск различных уязвимостей никак не обойтись.

Хотите избежать проблем из-за взломов или утечки данных? Напишите нам в Telegram, чтобы заказать пентест (тестирование) у наших специалистов по информационной безопасности, пока хакеры не провели его без вашего ведома.

Уязвимости, угрозы, атаки

Большинство мобильных приложений имеют клиент-серверную архитектуру. Клиентскую часть пользователи скачивают из магазина и устанавливают на свои устройства с мобильной ОС (тот же iOS и Android). А серверная часть представляет собой веб-приложение, которое взаимодействует с мобильным клиентом через программный интерфейс приложения (API).

Уязвимость — это брешь или слабое место, которое может возникнуть из-за дефектов в проектировании или ошибок в программировании. Они встречаются как в клиентской, так и в серверной части, и даже между ними — в канале передачи данных. Уязвимости дают злоумышленнику возможность реализовать угрозу безопасности.

Угроза — это совокупность условий и факторов, которая создаёт потенциальную опасность несанкционированного воздействия. Она может быть причиной нежелательного инцидента, в результате которого злоумышленник нанесёт ущерб владельцу или его пользователям.

В мобильных приложениях

Некоммерческая организация Open Web Application Security Project (OWASP) составила топ-10 самых распространённых угроз для мобильных приложений в 2023 году:

Топ Угроза Воздействие
1 Неподходящее использование учётных данных Похищение данных, мошеннические действия, несанкционированный доступ к административным функциям, раскрытие конфиденциальности пользователей
2 Ненадлежащая безопасность цепочки поставок Заражение вредоносным ПО, компрометация системы, похищение данных, несанкционированный доступ
3 Небезопасная аутентификация/авторизация Доступ к конфиденциальной информации, разрушение системы, сбои в системе контроля аутентификации и авторизации, сокрытие источника атаки и природы эксплойтов
4 Недостаточная проверка ввода/вывода Выполнение неавторизованного кода, компрометация системы, нарушение работы и функциональности
5 Небезопасная коммуникация Похищение данных, угон аккаунтов пользователей, раскрытие конфиденциальности пользователей
6 Недостаточный контроль конфиденциальности Похищение данных, нарушение работы бэкенда, негативное влияние на глобальные свойства безопасности
7 Ненадлежащая защита двоичных файлов Похищение интеллектуальной собственности, нарушение работы бэкенда
8 Неправильная настройка системы безопасности Компрометация системы, похищение данных, несанкционированный доступ к конфиденциальным данным, угон аккаунтов пользователей
9 Небезопасное хранение данных Компрометация аккаунтов пользователей, несанкционированный доступ к ресурсам, подделка данных и нарушение их целостности
10 Недостаточная криптография Похищение интеллектуальной собственности, несанкционированное извлечение конфиденциальной информации

Практически каждая угроза может привести к губительным последствиям для бизнеса:

  • потеря доверия;
  • простои и сбои в работе;
  • утечка данных;
  • ущерб репутации;
  • финансовые убытки;
  • юридические и нормативные последствия.

В веб-приложениях

Та же организация OWASP составила топ-10 самых распространённых угроз для веб-приложений в 2021 году. Она также сопоставила с ними заметные слабые места из перечня распространённых дефектов (CWE), которые могут спровоцировать уязвимости.

Топ Угроза Заметные дефекты из CWE
1 Нарушенный контроль доступа CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
CWE-201: Insertion of Sensitive Information Into Sent Data
2 Сбои криптографии CWE-259: Use of Hard-coded Password
CWE-327: Broken or Risky Crypto Algorithm
3 Инъекции CWE-79: Cross-site Scripting
CWE-89: SQL Injection
4 Небезопасный дизайн CWE-209: Generation of Error Message Containing Sensitive Information
CWE-256: Unprotected Storage of Credentials
5 Неправильная настройка системы безопасности CWE-16: Configuration
CWE-611: Improper Restriction of XML External Entity Reference
6 Уязвимые и устаревшие компоненты CWE-1104: Use of Unmaintained Third-Party Components
7 Сбои идентификации и аутентификации CWE-297: Improper Validation of Certificate with Host Mismatch
CWE-287: Improper Authentication
8 Сбои целостности программного обеспечения и данных CWE-829: Inclusion of Functionality from Untrusted Control Sphere
CWE-494: Download of Code Without Integrity Check
9 Сбои логирования и мониторинга безопасности CWE-778: Insufficient Logging
10 Подделка запросов на серверной стороне

Атаки

Атака — это метод, с помощью которого злоумышленник эксплуатирует уязвимости, в том числе с помощью различных инструментов и сервисов (например, с помощью сканирования через различные онлайн-сервисы). Хотя, кроме чёрных хакеров и инсайдеров, атаки проводят и белые хакеры в рамках тестирования безопасности.

Перечислим три распространённые атаки:

  1. Мобильный код, вызывающий недоверенный мобильный код. Это манипулирование мобильным кодом путём добавления произвольных операций в исходный программный код. Злоумышленник может перехватить клиентский трафик с помощью метода посредника, разместить вредоносный мобильный код на ненадёжном сайте или внедрить на уязвимый сайт с помощью инъекции. Цель — выполнять вредоносные операции на устройстве клиента под его учётными данными.
  2. Неокончательное публичное поле мобильного кода. Это манипулирование неокончательными публичными переменными, используемыми в мобильном коде, путём инъекции в них вредоносных значений. Когда публичная переменная-член или класс не объявлены как окончательные, их значениями может злонамеренно манипулировать любая функция, имеющая доступ к ним. Цель — расширить программный код приложения или получить критическую информацию о нём.
  3. Перехват объекта мобильного кода. Это техника создания объектов без методов конструкторов с помощью использования метода clone(). Если определённый класс реализует метод cloneable(), который объявлен как публичный, но не имеет публичного метода конструктора и не объявлен как окончательный, то злоумышленник может расширить его до нового класса. Цель — создавать клоны объектов, которые имеют такие же атрибуты, как у исходных объектов, но независимы от них.

Кто проводит тестирование на проникновение

Как правило, приложение создаётся командой из дизайнеров, верстальщиков, разработчиков фронтенда и бэкенда, то есть обойтись одним сотрудником тут никак не получится. Перед релизом другая команда — из тестировщиков, QC и QA — должна провести внутреннее тестирование на ошибки и недочеты, выявить их, дать оценку важности и при необходимости отправить на доработку разработчикам. Вторая команда проводит тестирование и проверку функциональности, правильность отработки сценариев на различных этапах, чтобы в дальнейшем все функции можно было использовать в штатном режиме. Но эти аудиторы программного кода не ищут уязвимости специально, хотя могут на них натыкаться в ходе тестирования.

Исследование безопасности мобильных и веб-приложений — компетенция других профессионалов, так как это не просто поиск ошибок или проверка работоспособности продукта. Поэтому нужна ещё команда из специалистов по информационной безопасности, преимущественно инженеров ИБ, которые не понаслышке знают о том, что такое тестирование на проникновение. Имея опыт атак и их отражения, они проведут тестирование на проникновение с помощью различных инструментов, сервисов и своих знаний, смогут выявить возможные уязвимости в ходе этого тестирования, предоставят вам общую оценку и помогут устранить их, чтобы по итогу получить максимально безопасное приложение, с учетом всевозможных внутренних и внешних факторов, общей оценки тестирования.

До привлечения специалиста по пентесту (от англ. penetration test — «тестирование на проникновение») приложение любой организации или компании считается потенциально уязвимым, даже если разработчики не халтурили при создании, а тестировщики провели процесс тестирования по поиску ошибок и недочетов на высшем уровне. К нему следует обращаться перед выпуском каждой стабильной версии, чтобы вовремя останавливать и устранять любые угрозы.

Polygant оказывает услуги по разработке технического задания для специалистов по информационной безопасности.

Процесс проведения пентестов, или тестирования на проникновение

Тестирование на проникновение (пентест) — сложный, но обязательный процесс в обеспечении безопасности, данных и информации. Он представляет собой имитацию атак на компоненты приложения, чтобы выявить уязвимости и слабые места в хоте этого тестирования. Целями атак выступают, например, API, внешние и внутренние серверы. После тестирования веб-приложения на проникновение результаты используются для точной настройки безопасности и устранения найденных уязвимостей.

Виды пентеста

Наши специалисты по ИБ используют следующие методики пентеста (тестирования на проникновение):

  • Внешний пентест. Пентестер атакует мобильный клиент, веб-приложение, сайт, серверы электронной почты и доменных имён. Сценарий — получение несанкционированного доступа и извлечение ценных данных.
  • Внутренний пентест. Пентестер имитирует атаку под видом злоумышленника, имея доступ к приложению за брандмауэром. Сценарий — кража данных, например, с помощью фишинга на работника заказчика.
  • Слепое тестирование на проникновение. Заказчик предоставляет пентестеру только название приложения, которое тот должен атаковать. Это позволяет команде заказчика посмотреть в реальном времени, на выявления различных возможностей взлома и того, как будет происходить атака.
  • Двойное слепое тестирование на проникновение. Команда заказчика не оповещается о том, что пентестер будет атаковать приложение. То есть, как и в реальности, у неё не будет времени подготовиться к атаке.
  • Целевое тестирование на проникновение. Пентестер и команда заказчика работают сообща. Это тестирование обеспечивает команде заказчика обратную связь и изучение атаки с точки зрения хакеров.

Этапы пентеста

Наши специалисты по ИБ проводят тестирование безопасности мобильных и веб-приложений в 5 этапов:

  1. Планирование и разведка. Определяется объём работ и цели тестирования, в том числе системы и компоненты, к которым нужно обратиться. Составляется алгоритм проведения пентеста. Проводится сбор информации о серверах, сетевых и доменных именах, чтобы разобраться, как работает цель и где искать уязвимости.
  2. Статический и динамический анализы. Они дают понять, как цель будет реагировать на попытки такого тестирования на проникновение. Сначала проводится статический анализ — проверка кода для оценки его поведения во время работы. Инструменты для такого анализа позволяют сканировать весь код за один проход. Затем проводится динамический анализ — проверка кода в рабочем состоянии. Этот более практичный способ позволяет мониторить производительность в реальном времени.
  3. Получение доступа. Пентестеры проводят атаки, чтобы выявить уязвимости. Затем они пробуют эксплуатировать уязвимости, устраивая повышение привилегий, кражу данных, перехват трафика и прочее. Это позволяет определить ущерб, который могут нанести атаки.
  4. Поддержание доступа. Выясняется, можно ли использовать уязвимость для постоянного присутствия в системе. Желательно так долго, чтобы пентестеры успели получить более глубокий доступ. Это нужно для имитации постоянных продвинутых угроз, которые остаются в системе на месяцы.
  5. Отчёт пентеста. В итоге составляется отчёт, детализирующий: уязвимости, которые были найдены и использованы; данные, к которым был получен доступ; время, в течение которого пентестер оставался в системе незамеченным.

Услуги тестирования на проникновение

Тестирование мобильного приложения на проникновение или пентест веб-приложения — первостепенная задача после выпуска продукта. К ней необходимо отнестись с максимальной ответственностью ещё на стадии бета-версии, ведь от этого зависит ваша репутация. Выявление, анализ уязвимостей и их устранение должно быть в приоритете перед публичным запуском.

Представьте, если бы банковское приложение, через которое вы управляете своим счётом, можно было взломать и отправить деньги на посторонний счёт. Вы бы продолжили пользоваться услугами банка, допустившего такое? А теперь поставьте себя на место ваших пользователей. Ну как, уже задумались о проведении тестирования?

Как вы теперь понимаете, тестирование на проникновение — неотъемлемая часть и даже требование, которое нужно для выявления уязвимостей, оценки состояния вашего приложения на безопасность и сохранности данных. Надеемся, что информация и общий анализ в этой статье показали вам важность тестирования на проникновение, что безопасность и выявление уязвимостей должны стоять на первом месте.

Стоимость пентеста (тестирования) — от 5000 $. Это в сотни раз меньше тех потерь, которые может понести любая компания из-за действий злоумышленников, а также исков от клиентов и регуляторов, если деятельность связана с финансами или обработкой и хранением данных.

Защитите своё приложение от взлома, а бизнес — от репутационных рисков, пока не поздно. Используйте такую возможность, обратившись в Polygant — пентест-компанию, которая 10 лет занимается тестированием и поиском уязвимостей, проверкой сценариев взлома и устранением угроз безопасности.

Аватар
Johnny Walker
Chief Editor
21 октября 2024 Updated on  Обновлено   21 октября 2024